test(e2e): Add end-to-end tests simulating neural-network workloads on a Spider cluster. - #385
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughAdds a layered neural-network workload to the Huntsman e2e crate. It includes deterministic wiring, MessagePack payload helpers, Spider execution validation, and exclusion of e2e tests from the unit-test executor. ChangesNeural network end-to-end validation
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to This PR adds neural-network end-to-end test support without any identified current-head correctness or production-impact issue; no actionable merge-blocking risk remains beyond normal checks and review. Sequence Diagram(s)sequenceDiagram
participant test_nn
participant NeuralNetwork
participant SpiderTestDriver
participant Spider
test_nn->>NeuralNetwork: simulate deterministic inputs
test_nn->>NeuralNetwork: build task graph
test_nn->>SpiderTestDriver: submit graph and encoded inputs
SpiderTestDriver->>Spider: execute dense-neuron tasks
Spider-->>SpiderTestDriver: return outputs
SpiderTestDriver-->>test_nn: decode output payload
test_nn->>test_nn: compare outputs with simulation
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
LinZhihao-723
left a comment
There was a problem hiding this comment.
Overall I'm good with the shape. Shouldn't take too much effort to merge it.
| cp "{{.G_RUST_RELEASE_DIR}}/libintegration_test_tasks.so" \ | ||
| "{{.G_TDL_PACKAGES_DIR}}/integration_test_tasks/libintegration_test_tasks.so" | ||
| cargo nextest run --all --all-features --run-ignored all --release | ||
| cargo nextest run --all --all-features --run-ignored all --release \ |
There was a problem hiding this comment.
I will do some research on whether we can make this better to understand.
Co-authored-by: Lin Zhihao <59785146+LinZhihao-723@users.noreply.github.com>
…argo target so the Rust unit-test flow no longer needs a nextest filter expression.
Mark the `nn` integration test target with `test = false` so it is excluded from
default target selection, and drop the
`-E 'not (package(e2e) & kind(test))'` filter from the unit-test task. The
target is still built and driven by nextest through explicit selection:
cargo nextest run -p e2e --all-features --release --test nn
|
|
||
| [[test]] | ||
| name = "nn" | ||
| test = false |
There was a problem hiding this comment.
Ok, this will disable the test by default. There's no need to explicitly disable it in the current task.
To run the nn test case:
cargo nextest run --package e2e --all-features --release --test nn
LinZhihao-723
left a comment
There was a problem hiding this comment.
For the PR title, how about:
test(e2e): Add end-to-end tests simulating neural-network workloads on a Spider cluster.
Description
This PR adds neural-network integration test, with the following change:
tests/huntsman/e2e/src/nn: New mod contains neural network helpers.neuron.rs:Neuronactivation enums and mapping to task name and evaluate function.wiring.rs: Wiring outputs to inputs.network.rs:NeuralNetworkstruct that holds all neural network information and conversion toTaskGraph.tests/huntsman/e2e/payload_serde.rs: Helpers that serialize/deserialize taskmsgpackinput/output payload.taskfiles/test.yaml: Excludese2etests fromtest:rust-unit-teststask.Checklist
breaking change.
Validation performed
Summary by CodeRabbit